Comment aspirer un site et effectuer une recherche de mot-clé ?
Une fois ma compagne m'a demandé d'effectuer cette mission.
Elle me dit : "Je suis sur un site, pour avoir une promo, je dois parcourir tout le site et trouver 3 oeufs de Pâques.
Mon chewie (avec la bouche en coeur 😘), il y a moyen que tu m'aides ?"
Bref, un challenge qui m'a pris un certain temps, mais je me suis éclaté. Autant le partager avec vous, cela pourrait-être utile pour d'autres missions
Pour aspirer le site :
wget -r -erobots=off -l inf https://blabla.shop
Ici -r pour recursive, -l pour la profondeur (--level=depth, Spécifie la profondeur maximale de la récursion au niveau de la profondeur. La profondeur maximale par défaut est de 5. ), et inf pour recursion infine.
erobots=off, permet de dire que je ne suis pas un robot et que l'on me laisse télécharger le site. Cela arrive quand les webmaster ont bloqués leur site à l'indexation ...
Pour la recherche (simple) :
grep -r oeuf6
Pour la recherche (avancée). Pour le mot clé oeuf6 en récursif dans tous les fichiers :
grep -r 'src="https://blabla.shop/wp-content/uploads/2021/04/oeuf6"'
Ou même la recherche :
grep -r 'https://blabla.shop/wp-content/uploads/2021/04/oeuf6'
Pour télécharger des images d'un site :
curl https://blabla.net/wp-content/uploads/sites/2/2021/03/[0-99:1]-[0-15:1].jpg -f -o image_suite#1-#2.jpg
Ici, je télécharge les images qui vont de 0 à 99, avec une montée de 1. Et de 0 à 15 avec un indentation de 1. Donc 0-0.jpg, puis 0-1.jpg ... 1-0.jpg ..., que je renomme en image_suite0-1.jpg ... Je dois obligatoirement indiquer un nom de sortie, sinon le téléchargement ne fonctionne pas.
Je peux utiliser la meme commande pour les images en 1.jpg, 2.jpg ... :
curl https://blabla.net/wp-content/uploads/sites/2/2020/04/[0-99:1].png -f -o image#1.png
Le mieux est d'aspirer le site avec la commande ci-dessus, cela permet de récupérer toutes les images, sans se faire 💩 avec un CURL.